'''
变量名称[起始位置:结束位置:步长]
口诀：切片其实很简单，只顾头来尾不管，步长为正，正向移，步长为负，则逆向移
'''
numstr = '0123456789'









# # 1、有起始位置、有结束位置、有步长
# print(numstr[2:5:1])  # 234
print(numstr[2:5:1])
# # 2、有起始位置、有结束位置、无步长（默认为正1）
# print(numstr[2:5])    # 234
print(numstr[2:5])
# # 3、只有结束位置（注意：从第一个字符开始截取，直到结束位置-1）
# print(numstr[:5])     # 01234
print(numstr[:5])
# # 4、只有起始位置（如果没有结尾，代表从起始位置一直截取到字符串的末尾）
# print(numstr[1:])     # 1~9
print(numstr[3:])
print(numstr[3:10])
# # 5、只有冒号的情况（相当于复制操作）
# print(numstr[:])
print("相对于复制操作")
print(numstr[:])
# # 6、只有步长情况
print(numstr[::3])
# print(numstr[::2])    # 0 2 4 6 8
# # 7、结尾位置是一个负数
print(numstr[-4:-1])
# print(numstr[:-1])    # 0~8
# # 8、起始位置与结束位置都是负数（要求：如果步长为正，必须起始位置与结束位置是从左向右）
print(numstr[-1:-4])
print(numstr[-1:-4:-1])
# print(numstr[-4:-1])  # 678
# print(numstr[-1:-4])  # 无法获取任何数据，截取从右向左，步长从左向右
# print(numstr[-1:-4:-1]) # 987
# # 9、无起始位置、无结束位置、只有步长且为负数
# print(numstr[::-1])   # 9~0(也是字符串翻转的一种手段）
print(numstr[::-1])

print(numstr[:0])
print("-"*20)